package java6681.string;

import java.util.ArrayList;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        String[] arr = {",,前面的逗号,,,连续的逗号,分隔,,,后面的逗号,,", "##井号##一个井号#"
        };
        String[] s = split(arr[0], ",");
        System.out.println(Arrays.toString(s));
        System.out.println(s.length);
    }

    public static String[] split(String str, String separator) {
//        判断字符串是否为空；字符串除去空格之后为0；返回对象
        if ( str.trim().length() == 0) {
            return new String[0];
        }
//        包含分隔符
        if ( str.length() == 0 || !str.contains(separator)) {
            return new String[]{str};
        }
        StringBuilder sb = new StringBuilder(str);
        ArrayList<String> list = new ArrayList<>();

//        end字符数
        int start = 0, end;
        String s = "";

//       判断是否有分隔符  如果不是-1 就含有分隔符
        while ((end = sb.indexOf(separator)) != -1) {
//          截取字符串
            s = sb.substring(start, end);
//            判断空字符串 ； list.add添加字符串
            if (s.isEmpty() == false) {
                list.add(s);
            }
//            删除分隔符
            sb.delete(0, end + separator.length());
        }

//        list转为数组
        return list.toArray(new String[list.size()]);

    }
}
